.TH milltask 1 "September 30, 2014" "" "The Enhanced Machine Controller"
.SH NAME
\fBmilltask\fR \- Userspace task controller for LinuxCNC
.SH DESCRIPTION

\fBmilltask\fR is an internal process of LinuxCNC.  It is generally not
invoked directly but by an inifile setting: \fB[TASK]TASK=milltask\fR.
The \fBmilltask\fR process creates the \fBini.*\fR hal pins listed below
and owned by the \fBinihal\fR user component.  These pins may be modified
while LinuxCnC is running to alter values that are typically specified
in an inifile.

The \fBinihal\fR pins are sampled in every task cycle, however, commands
affected by their values typically use the value present at the time
when the command is processed.  Such commands include all codes handled
by the interpreter (\fBGcode\fR programs and \fBMDI\fR commands) and NML
\fBjogging\fR commands issued by a GUI (including \fBhalui\fR).
\fBWheel jogging\fR is implemented in the realtime motion module so
\fBinihal\fR pin changes (e.g., ini.*.max_velocity,
ini.*.max_acceleration) may be honored as soon as altered values are
propagated to the motion module.

.SH PINS
.SS Per-joint pins (N == joint number)
.TP
\fBini.\fIN\fB.backlash
Allows adjustment of \fB[JOINT_\fIN\fB]BACKLASH
.TP
\fBini.\fIN\fB.ferror
Allows adjustment of \fB[JOINT_\fIN\fB]FERROR
.TP
\fBini.\fIN\fB.min_ferror
Allows adjustment of \fB[JOINT_\fIN\fB]MIN_FERROR
.TP
\fBini.\fIN\fB.min_limit
Allows adjustment of \fB[JOINT_\fIN\fB]MIN_LIMIT
.TP
\fBini.\fIN\fB.max_limit
Allows adjustment of \fB[JOINT_\fIN\fB]MAX_LIMIT
.TP
\fBini.\fIN\fB.max_velocity
Allows adjustment of \fB[JOINT_\fIN\fB]MAX_VELOCITY
.TP
\fBini.\fIN\fB.max_acceleration
Allows adjustment of \fB[JOINT_\fIN\fB]MAX_ACCELERATION
.TP
\fBini.\fIN\fB.home
Allows adjustment of \fB[JOINT_\fIN\fB]HOME
.TP
\fBini.\fIN\fB.home_offset
Allows adjustment of \fB[JOINT_\fIN\fB]HOME_OFFSET
.TP
\fBini.\fIN\fB.home_offset
Allows adjustment of \fB[JOINT_\fIN\fB]HOME_SEQUENCE

.SS Per-axis pins (L == axis letter)
.TP
\fBini.\fIL\fB.min_limit
Allows adjustment of \fB[AXIS_\fIL\fB]MIN_LIMIT
.TP
\fBini.\fIL\fB.max_limit
Allows adjustment of \fB[AXIS_\fIL\fB]MAX_LIMIT
.TP
\fBini.\fIL\fB.max_velocity
Allows adjustment of \fB[AXIS_\fIL\fB]MAX_VELOCITY
.TP
\fBini.\fIL\fB.max_acceleration
Allows adjustment of \fB[AXIS_\fIL\fB]MAX_ACCELERATION

.SS Global pins
.TP
\fBini.traj_default_acceleration
Allows adjustment of \fB[TRAJ]DEFAULT_ACCELERATION
.TP
\fBini.traj_default_velocity
Allows adjustment of \fB[TRAJ]DEFAULT_VELOCITY
.TP
\fBini.traj_max_acceleration
Allows adjustment of \fB[TRAJ]MAX_ACCELERATION
.TP
\fBini.traj_max_velocity
Allows adjustment of \fB[TRAJ]MAX_VELOCITY

.SS Global pins (arc_blend trajectory planner)
.TP
\fBini.traj_arc_blend_enable
Allows adjustment of \fB[TRAJ]ARC_BLEND_ENABLE
.TP
\fBini.traj_arc_blend_fallback_enable
Allows adjustment of \fB[TRAJ]ARC_BLEND_FALLBACK_ENABLE
.TP
\fBini.traj_arc_blend_gap_cycles
Allows adjustment of \fB[TRAJ]ARC_OPTIMIZATION_DEPTH
.TP
\fBini.traj_arc_blend_optimization_depth
Allows adjustment of \fB[TRAJ]ARC_BLEND_GAP_CYCLES
.TP
\fBini.traj_arc_blend_ramp_freq
Allows adjustment of \fB[TRAJ]ARC_BLEND_RAMP_FREQ

.SH NOTES

The \fBinihal\fR pins cannot be linked or set in a halfile that is
specified by an inifile \fB[HAL]HALFILE\fR item because they are not created
until \fBmilltask\fR is started.  The \fBinihal\fR pin values can be
altered by independent halcmd programs specified by
\fB[APPLICATION]APP\fR items or by GUIs that support a
\fB[HAL]POSTGUI_HALFILE\fR.

The inifile is not automatically updated with values altered by
\fBinihal\fR pin settings  but can be updated using the calibration
program (emccalib.tcl) when using a \fB[HAL]POSTGUI_HALFILE\fR.
